[Script Pascal] Verificando quantos Caracteres por Segundo tem a legenda
Publicado por rafael farias novaes 26/01/2009
[ Hits: 7.232 ]
Homepage: http://www.vivaolinux.com.br/perfil/verPerfil.php?login=bfmano
Seguindo a linha de garimpagem do Pix, estou pesquisando na internet alguns scripts pascal que facilitam nossa vida.
Este gera um relatório dizendo se sua legenda está nos "padrões" de 25 caracteres exibidos em 1 segundo (tempo-limite que a maioria das pessoas leva pra ler a legenda). OBS: o padrão oficial para dvd's comerciais e filmes de cinema é de 13 a 18 cps em média.
Salve este código com o nome ShowCPS.pas na pasta PascalScripts do Subtitle Workshop
// Made by Buzcatcher program ShowCPS; // --------------------------------------------- const cpsreport = 'C:\cps_report.txt'; CRLF = ''#13''#10; Rsep = ' | '; var i, n, p : Integer; duration, sublength, cps : Integer; subtxt, report : String; Ms : TmemoryStream; begin Ms := TmemoryStream.Create; n := GetSubtitleCount-1; for i := 0 to n do begin subtxt := GetSubtitleText(i); sublength := length(subtxt); p := pos(''#13''#10, subtxt); if (p>0) then sublength := sublength - 2; duration := GetSubtitleFinalTime(i) - GetSubtitleInitialTime(i); cps := round((sublength * 1000)/ duration); report := IntToStr(i+1) + Rsep + IntToStr(sublength) + ' Characters' + Rsep + IntToStr(duration) + ' duration(ms)' + Rsep + '==> ' + IntToStr(cps) + ' Char/sec.' if (cps > 25) then report := report + Rsep + 'LEGENDA MUITO RAPIDA' report := report + CRLF Ms.Write(report, length(report)); try Ms.SaveToFile(cpsreport); except MsgBox('Couldn''t write to file!', '&Ok', '', '', $20); end; end; Ms.Free; MsgBox('Report saved in C:\cps_report.txt', '&Ok', '', '', $20); end.
Questionário em estatisticas em Pascal
IA local no bolso, novo visual no Raspberry Pi OS e mais destaques do software livre
Kernel turbinado, compatibilidade em alta e debate sobre sustentabilidade: o dia no mundo Linux
Kernel turbinado e GNOME 49 dominam o giro do dia no mundo Linux
Novidades Linux: Kernel 6.17, distros em ebulição e segurança em foco
Kernel ganha novos linters Rust e distros avançam com recursos de IA
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Como vencer a procrastinação? (2)
Alguém que utilize o Warsaw do BB no Ubuntu 24.04 [RESOLVIDO] (7)
Orientação para instalar o Warsaw - módulo de proteção do Banco do Bra... (9)